let fs = require('fs')
//自动装载方法
module.exports=(filepath,load)=>{
    let data = fs.readFileSync(filepath,"utf-8");
    let obj = [];
    //便利注解
    load.forEach(annotation=>{
        //解析第一个注解
        let jx = data.match(new RegExp(`((["'\`][ ]*)|(/*[ ]*))${annotation}(\\(["'\`].*?["'\`]\\))?[ ]*["'\`]*`,'g'));
        if(!jx)return;
        //开始解析
        jx.forEach(e=>{
            //解析出来括号中的参数
            //这是一个注解，解析出来参数
            e=e.match(/\([ ]*.*?\)/g);
            let parameter = [];
            if(e){
                //先解析出字符串
                e = e[0].replace(/[()]/g,"");
                let str = (e.match(/(".*?")|('.*?')|(`.*?`)/g) || []).map(e=>e.substring(1,e.length-1));
                let i=0;
                parameter = e.replace(/(".*?")|('.*?')|(`.*?`)/g,"gem_2021_7_17_2:43_gem")
                    .split(",").filter(e=>e).map(e=>{
                        if(e==="gem_2021_7_17_2:43_gem"){return str[i++]}
                        return e;
                    })
            }
            obj.push({annotation,parameter:parameter,name:'this'});
        })
    })
    return obj;
}